1. Field of the Invention
The present invention relates to the information handling systems and more particularly to application sharing on embedded hypervisors.
2. Description of the Related Art
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
It is known to perform a virtualization function on an information handling system. With application virtualization, an application is not installed in a traditional sense, although the application is executed as if it is installed. Application virtualization includes many different technologies.
For example, with an application streaming solution, an application is delivered in a package that may include a subset of operating system files and configuration settings. To execute the package, a lightweight client application is installed onto the information handling system. The package is generally delivered to the information handling system via a protocol such as a hypertext transfer protocol (HTTP) or a real time streaming protocol (RTSP). Also for example, with a desktop virtualization solution, also referred to as virtual desktop infra (VDI), an application is hosted in a virtual machine that also includes the operating system. These solutions include a management infrastructure for automating the creation of virtual desktops and providing access control to target virtual desktops. A VDI solution is generally more robust than an application streaming solution. Also for example, with a self contained virtual machine solution, a package is launched with a relatively small runtime player (which may be bundled with the package) and can be launched from a portable virtual appliance device such as a portable USB flash drive. Examples of a runtime player include a VMWare type player or a VMplayer type player.
Each of these technologies can include issues relating to application compatibility and conflicts presented by introducing a virtualization layer to hide the operating system and/or hardware details from the application and vice versa. Some issues relating to these technologies include a need for specialized software (e.g., agents) to be installed on the hypervisor, a need for the application to be packaged specifically for the virtualization environment.
With certain virtualization type systems (e.g., the embedded ESX type virtualization system available from VMWare and the Xen Sources embedded hypervisor), hypervisors are installed onto a memory card or flash device Storage space available on these types of storage devices is often limited (e.g., often not more than 1 GByte). Hence, these types of storage devices may run out of space as customers install support applications such as backup type applications, firewall type applications, antivirus type applications, etc. Also, these storage devices may not be intended for frequent write access and may have a limited write lifespan.
Software emulation is another type of application virtualization which can be used to execute applications in and unsupported environment. Zero install technology can be used to package and distribute applications as a single file. When user accesses the software for the first time, the software is downloaded from the Internet and cached on a local system.